Optical encoders are typically used to provide positional information for rotating shafts. To do this, the optical encoder provides a code disc which is attached for rotation to the shaft of interest. The code disc includes code elements which are positioned circumferentially on the disc. Detector means are provided which are fixed in position with respect to the rotating code disc and which are positioned in registration with the path of the code elements on the disc. As the code disc is rotated by the rotating shaft, the code elements are translated with respect to and through various degrees of registration with the detector means. In absolute encoders, there is a unique set of code elements assigned to each angular position of the disc. Thus each angular position is uniquely identified, and the detector means outputs a signal representative of the code elements currently in registration with the detector means.
With incremental encoders, the code elements for each angular position are the same; however, the detector means count the number of code elements which are caused to pass in registration with the detector means when the code disc is rotated, so that the total number of elements counted for a given rotation of the disc is proportional to the number of angular positions through which the code disc was rotated. In other words, the code elements define incrementally spaced angular positions of the code disc.
Due to the lack of a unique code for each angular position of incremental encoder code discs, an index signal is often required to be generated to indicate some reference point on the disc so that counting means in the detector can have a starting point to which the count can be referenced. This index signal is typically generated by a set of code elements which are separate from the code elements in the main track of the code disc.
The typical detector means include a mask which bears the same index sequence of code elements as found on the code disc, as well as means for detecting the degree of registration between the code disc index sequence and the mask index sequence of code elements. Occasionally, a single code element is used as the index mark. However, it has been found that a multiplicity of code elements which have been arranged in special sequences are required to provide an index signal of sufficient resolution and amplitude to be satisfactory for a majority of optical encoder applications.
In order to detect the registration of the sequences, the code disc and mask are positioned between a light source and a photodetector. The index sequence on the code disc and the mask index sequence collectively modify the light which impinges upon the photodetector from the light source. Typically, no light is permitted to pass to the photodetector through the code disc and the mask when the respective sequences are totally out of registration with one another. Similarly, a maximum amount of light passes to the photodetector when there is maximum registration between the code disc index sequence and the mask index sequence.
Preferably, for all other degrees of registration the amount of light which is permitted to pass through to the photodetector is kept small. This, coupled with the requirement that the angular resolution provided by the index or reference signal be at least as precise as the angular position resolution provided by the code elements in the main track of the code disc, results in an index signal which is usually the weakest signal from the optical encoder. Thus, special techniques have been employed to enhance the signal characteristics of this index signal. Illustrative of these is U.S. Pat. No. 3,187,187 to Wingate. In the patent to Wingate, a special index sequence of slits is positioned transversely on the code disc and apart from the main track of the code disc. The sequence bridges several consecutive angular positions of the code disc. A mask, having a pattern identical to the index sequence is employed in conjunction with a detector. The detector detects the degree of registration between the mask and the index sequence as the disc rotates.
The physical distribution of the code elements in the index sequence and mask sequence is selected so that the degree of registration between individual elements is at a maximum when the code disc is at the index or zero reference position. For all other positions of the code disc, the degree of registration is below a designated level, typically one element.
In order to accomplish this, the code elements in the index sequence are arranged to have a selected spacing therebetween determined by a specific mathmetical relationship. In U.S. Pat. No. 3,187,187, this mathmetical relationship is defined in terms of numerical series; namely, 2, 3, 4, 6, 8, 12, 16, 24, etc. or 2, 3, 6, 8, 11, 16, 17, 20, 22, 24, etc., in which the numbers represent the spacing (in terms of code element widths) between the leading edges of successive code elements. Under this arrangement, no spacing between any two successive code elements is equal to any other spacing or to the sum of any group of immediately successive spacing.
When the above numerical series are employed, all angular positions of the code disc, except the index position, will exhibit a degree of registration between the mask sequence and the index sequence below some background registration level. At the index position of the code disc, the degree of registration is at a maximum and the detector output is large. However, the degree of registration is always zero for positions to either side of the index position. Although this further maximizes the change in detector output magnitude between the index or zero reference position and the positions adjacent thereto, there are certain disadvantages to this configuration.
It has been found that, despite this large output magnitude signal the signal-to-noise ratio therefor is often unsatisfactory. The relative magnitudes of the degree of registration for the index position and for the background registration provide a signal-to-noise ratio which is indicative of the quality of the index signal being generated.
In practice, a "safety factor" is applied in using the zero reference signal from the detector in the generation of an index signal at the encoder output. The safety factor takes into consideration variation of the signal over temperature, component aging, and different operating conditions of the encoder. For example, due to frequency response limitations in the detector means, the higher the speed at which the optical encoder is operated, the lower the output of the detector means will be. Additionally, the period-width of the index signal is related to the resolution of the encoder, such that for higher resolution encoders smaller period-width index signals are required.
Typically, the "safety factor" is implemented in an optical encoder by selecting a threshold level on the index signal waveform where the waveform is one code element wide. It is to be understood that the threshold levels selected are a matter of design choice which involves the trade-off of performance of the encoder in other respects. Thus, it is not a requirement that the threshhold level be set at the one-code-element wide point in order to properly practice the present invention.
The above can be better understood by considering that the registration between a code element in the index sequence and one of the elements in the mask sequence proceeds from a state where the elements are initially out of registration with one another, through a state where registration increases until full registration is achieved, and then through a state of decreasing registration. Finally the elements fall out of registration with one another. The waveform for such a progression takes the shape of a triangle. The left side of the triangle occurs as the two elements first begin to come into registration with one another. The peak of the triangle occurs as the two elements are in full registration with one another, and the right side of the triangle occurs as the two elements are falling out of registration with one another. The one-code-element-wide point is selected symmetrically about the peak of the triangle to correspond to the points on the triangle where the triangle is as wide as one of the code elements, i.e. where movement along the curve between the points corresponds to the angular displacement of the code disc through a distance equal to the width of a code element.
It is to be understood that the height of the triangle is a function of the number of code elements in the index sequence. It is also to be understood that the width of the triangle is related to the width of the code elements.
In practice, the index sequences which are actually used to generate the index signal are limited in the number of elements which practicably can be used. This is because, as the number of elements in the index sequence increases, which corresponds to an increase in the physical area which must be monitored, there is a rapid decrease in the optical efficiency of the detector. A large number of elements in the index sequence requires large area sensors. In turn, large area sensors exhibit greater capacitance effects than detectors for smaller areas, hence a limited frequency response. This capacitance effect increases at a faster rate than the increase in signal-to-noise ratio due to more code elements.
A further limitation has been found regarding the minimum number of code elements which can be used. When the safety factor, as discussed above, is applied to selecting a threshold level on the registration waveform from the detector, it has been found that the signal-to-noise levels for a one or two element sequence configured according to the teachings of the patent to Wingate are unacceptable, and that the level for a three-element sequence is barely adequate.